#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define vll vector<ll>
#define vld vector<ld>
#define vi vector<int>
#define forn(i, n) for(int i = 0; i < int(n); ++i)
#define all(x) x.begin(), x.end()
ll mod=998244353;
int INF=1E9;
ll LLINF=1E18;
using namespace std;
//#define cin fin
//#define cout fout
ifstream fin("search.in");
ofstream fout("search.out");
#define znakposlezapjtoi cout << fixed; cout.precision(10);
int main() {
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int n;
cin>>n;
forn(i,n-1) cout<<i+1<<" ";
cout<<"\n";
for (int j=2;j<n;j++) {
cout<<j<<" ";
for (int i=2;i<n;i++) {
int x=i*j;
vi v;
while (x!=0) {
v.push_back(x%n);
x/=n;
}
reverse(all(v));
for (auto i:v) cout<<i;
cout<<" ";
}
cout<<"\n";
}
}
1157E - Minimum Array | 1661D - Progressions Covering |
262A - Roma and Lucky Numbers | 1634B - Fortune Telling |
1358A - Park Lighting | 253C - Text Editor |
365B - The Fibonacci Segment | 75A - Life Without Zeros |
1519A - Red and Blue Beans | 466A - Cheap Travel |
659E - New Reform | 1385B - Restore the Permutation by Merger |
706A - Beru-taxi | 686A - Free Ice Cream |
1358D - The Best Vacation | 1620B - Triangles on a Rectangle |
999C - Alphabetic Removals | 1634C - OKEA |
1368C - Even Picture | 1505F - Math |
1473A - Replacing Elements | 959A - Mahmoud and Ehab and the even-odd game |
78B - Easter Eggs | 1455B - Jumps |
1225C - p-binary | 1525D - Armchairs |
1257A - Two Rival Students | 1415A - Prison Break |
1271A - Suits | 259B - Little Elephant and Magic Square |